﻿using System.Collections;
using System.Collections.Generic;

#if UNITY_EDITOR
[System.Serializable]
#endif
public  partial class GoodsArche : ISerialize
{
    string m_GoodsId;
    public string goodsId
    {
        get { return m_GoodsId; }
        set { m_GoodsId = value; }
    }

    int m_Type;
    public int type
    {
        get { return m_Type; }
        set { m_Type = value; }
    }

    int m_Value;
    public int value
    {
        get { return m_Value; }
        set { m_Value = value; }
    }
    
    private string m_NameKey;
    public string nameKey
    {
        get { return m_NameKey; }
        set { m_NameKey = value; }
    }
    public string name
    {
        get { return Localization.instance.GetValue( m_NameKey); }
    }
    
    private string m_DescKey;
    public string descKey
    {
        get { return m_DescKey; }
        set { m_DescKey = value; }
    }
    public string desc
    {
        get { return Localization.instance.GetValue(m_DescKey); }
    }

    FixedFloat m_Price;
    public FixedFloat price
    {
        get { return m_Price; }
        set { m_Price = value; }
    }

    bool m_UseMoney;
    public bool useMoney
    {
        get { return m_UseMoney; }
        set { m_UseMoney = value; }
    }

    string m_ApplePurchaseId;
    public string applePurchaseId
    {
        get { return m_ApplePurchaseId; }
        set { m_ApplePurchaseId = value; }
    }

    string m_GooglePurchaseId;
    public string googlePurchaseId
    {
        get { return m_GooglePurchaseId; }
        set { m_GooglePurchaseId = value; }
    }
    string m_UnityPurchaseId;
    public string unityPurchaseId
    {
        get { return m_UnityPurchaseId; }
        set { m_UnityPurchaseId = value; }
    }

    bool m_Limit;
    public bool limit
    {
        get { return m_Limit; }
        set { m_Limit = value; }
    }

    public GoodsArche()
    {
    }

    public override string ToString()
    {
        return $"goodsId:{this.goodsId}  type:{this.type}  value:{this.value}  applePurchaseId:{applePurchaseId}  googlePurchaseId:{googlePurchaseId}  unityPurchaseId:{unityPurchaseId} ";
    }
}


#if UNITY_EDITOR
[System.Serializable]
#endif
public partial class AINameArche : ISerialize
{
    /// <summary>
    /// AI名称
    /// </summary>
    string m_Name;
    public string name
    {
        get { return m_Name; }
        set { m_Name = value; }
    }

    public AINameArche()
    {
    }
}

public partial class TipsArche : ISerialize
{
    string m_ContentKey;
    public string contentKey
    {
        get { return m_ContentKey; }
        set { m_ContentKey = value; }
    }

    public string content => Localization.instance.GetValue(m_ContentKey);

    public TipsArche()
    {
    }

    public override string ToString()
    {
        return content;
    }
}

#if UNITY_EDITOR
[System.Serializable]
#endif
public partial class  AdConfig:ISerialize
{
    private string m_AdmodAndroidBannerId;
    public string admodAndroidBannerId
    {
        get { return m_AdmodAndroidBannerId; }
        set { m_AdmodAndroidBannerId = value; }
    }

    public string m_AdmodIOSBannerId;
    public string admodIOSBannerId
    {
        get { return m_AdmodIOSBannerId; }
        set { m_AdmodIOSBannerId = value; }
    }

    public string m_AdmodAndroidInterstitialId;
    public string admodAndroidInterstitialId
    {
        get { return m_AdmodAndroidInterstitialId; }
        set { m_AdmodAndroidInterstitialId = value; }
    }

    public string m_AdmodIOSInterstitialId;
    public string admodIOSInterstitialId
    {
        get { return m_AdmodIOSInterstitialId; }
        set { m_AdmodIOSInterstitialId = value; }
    }

    public string m_AdmodAndroidVideoId;
    public string admodAndroidVideoId
    {
        get { return m_AdmodAndroidVideoId; }
        set { m_AdmodAndroidVideoId = value; }
    }

    public string m_AdmodIOSVideoId;
    public string admodIOSVideoId
    {
        get { return m_AdmodIOSVideoId; }
        set { m_AdmodIOSVideoId = value; }
    }


    public string m_UniyAdsAndroidGameId;
    public string uniyAdsAndroidGameId
    {
        get { return m_UniyAdsAndroidGameId; }
        set { m_UniyAdsAndroidGameId = value; }
    }

    public string m_UniyAdsIOSGameId;
    public string uniyAdsIOSGameId
    {
        get { return m_UniyAdsIOSGameId; }
        set { m_UniyAdsIOSGameId = value; }
    }

    public string m_UnityAdsBannerPlacementId;  
    public string unityAdsBannerPlacementId
    {
        get { return m_UnityAdsBannerPlacementId; }
        set { m_UnityAdsBannerPlacementId = value; }
    }
    public string m_UnityAdsInterstitialPlacementId;  
    public string unityAdsInterstitialPlacementId
    {
        get { return m_UnityAdsInterstitialPlacementId; }
        set { m_UnityAdsInterstitialPlacementId = value; }
    }
    public string m_UnityAdsRewardVideoPlacementId ;  
    public string unityAdsRewardVideoPlacementId
    {
        get { return m_UnityAdsRewardVideoPlacementId; }
        set { m_UnityAdsRewardVideoPlacementId = value; }
    }

    public AdConfig()
    {
        
    }

    public override string ToString()
    {
        return $"unityAds banner placement:{this.unityAdsBannerPlacementId}  Interstitial placement:{this.unityAdsInterstitialPlacementId}  video placement:{this.unityAdsRewardVideoPlacementId}";
    }
}

public partial class LanguageArche : ISerialize
{
    string m_Key;
    public string key
    {
        get { return m_Key; }
        set { m_Key = value; }
    }
    string m_CN;
    public string CN
    {
        get { return m_CN; }
        set { m_CN = value; }
    }

    string m_EN;
    public string EN
    {
        get { return m_EN; }
        set { m_EN = value; }
    } 
    
    string m_TC;
    public string TC
    {
        get { return m_TC; }
        set { m_TC = value; }
    }
    public LanguageArche()
    {
    }

    public override string ToString()
    {
        return $"[key:{key} cn:{m_CN}  en:{m_EN}]";
    }
}
